package com.delivery.www.dao;

import com.delivery.www.po.HaveCoupon;
import com.delivery.www.po.Coupon;

import java.util.List;

/**
 * @author 12970
 */
public interface CouponDao {
    /**
     * 获取店铺抵用券
     *
     * @param storeId 店铺id
     * @return 获取的抵用券
     */
    List<Coupon> getCoupon(int storeId);

    /**
     * 商家新增抵用券
     *
     * @param storeId  店铺id
     * @param value    面值
     * @param min      最低消费
     * @param validity 有效期
     * @return 改变行数
     */
    int addCoupon(int storeId, Float value, Float min, int validity);

    /**
     * 删除抵用券
     *
     * @param couponId 抵用券id
     * @return 改变行数
     */
    int deleteCoupon(int couponId);

    /**
     * 获取一张抵用券
     *
     * @param couponId 抵用券id
     * @return 获取的抵用券
     */
    Coupon getOneCoupon(int couponId);

    /**
     * 修改优惠券面值
     *
     * @param couponId 优惠券id
     * @param value    新值
     * @return 修改行数
     */
    int modifyCouponValue(int couponId, Float value);

    /**
     * 修改优惠券最低消费
     *
     * @param couponId 优惠券id
     * @param value    新值
     * @return 修改行数
     */
    int modifyCouponMin(int couponId, Float value);

    /**
     * 修改优惠券有效时间
     *
     * @param couponId 优惠券id
     * @param value    新值
     * @return 修改行数
     */
    int modifyCouponValidity(int couponId, int value);

    /**
     * 获取用户领取的优惠券
     *
     * @param list 存放id
     * @return 优惠券
     */
    List<Coupon> getUserCoupon(List<HaveCoupon> list);

    /**
     * 获取所有的优惠券
     ** @return 优惠券
     */
    List<Coupon> getAllCoupon();

}
